// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class FuelAnnounceList : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<FuelAnnounceList, MasterDbContextLocator>
    {

        public int AnnounceId { get; set; }
        public string AnnounceCode { get; set; }
        public int? AnnounceStatus { get; set; }
        public string AreaCode { get; set; }
        public string AreaName { get; set; }
        public string PrjCode { get; set; }
        public string PrjName { get; set; }
        public int? BaseStationID { get; set; }
        public string BaseStationCode { get; set; }
        public string BaseStationName { get; set; }
        public double? FuelTankVolume { get; set; }
        public double? FuelRestValue { get; set; }
        public double? FuelDuration { get; set; }
        public string FuelDepartment { get; set; }
        public double? FuelPlanAmount { get; set; }
        public DateTime? FuelPlanTime { get; set; }
        public DateTime? CreateDate { get; set; }
        public string AnnounceCompanyCode { get; set; }
        public string AnnounceCompanyName { get; set; }
        public string AnnouncePersonCode { get; set; }
        public string AnnouncePersonName { get; set; }
        public string AnnouncePersonPhone { get; set; }
        public string AcceptCompanyCode { get; set; }
        public string AcceptCompanyName { get; set; }
        public string AcceptPersonCode { get; set; }
        public string AcceptPersonName { get; set; }
        public DateTime? AcceptTime { get; set; }
        public DateTime? RegisteredTime { get; set; }
        public bool? RegisteredAbnormal { get; set; }
        public double? RegisteredFuelValue { get; set; }
        public DateTime? FinishTime { get; set; }
        public int? FinishType { get; set; }
        public double? FinishFuelValue { get; set; }
        public double? FinishFuelAdded { get; set; }
        public double? FinishFuelManual { get; set; }
        public double? FinishFuelPrice { get; set; }
        public double? FinishFuelTip { get; set; }
        public int? FinishDistance { get; set; }
        public string FinishRemark { get; set; }
        public string AuditPerson { get; set; }
        public string AuditRemark { get; set; }
        public DateTime? AuditTime { get; set; }
        public int? MigrationId { get; set; }
        public bool? IsDeleted { get; set; }
        public string DeletePersonCode { get; set; }
        public DateTime? DeletedTime { get; set; }
        public string BaseStationTTCode { get; set; }
    
        public void Configure(EntityTypeBuilder<FuelAnnounceList> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasKey(e => new { e.AnnounceId, e.AnnounceCode })
                    .HasName("PK__FuelAnno__FF98F8C5D3920845");

                entityBuilder.Property(e => e.AnnounceId).ValueGeneratedOnAdd();

                entityBuilder.Property(e => e.AnnounceCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptCompanyCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptCompanyName).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptPersonCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptPersonName).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptTime).HasColumnType("datetime");

                entityBuilder.Property(e => e.AnnounceCompanyCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AnnounceCompanyName).HasMaxLength(50);

                entityBuilder.Property(e => e.AnnouncePersonCode).HasMaxLength(20);

                entityBuilder.Property(e => e.AnnouncePersonName).HasMaxLength(20);

                entityBuilder.Property(e => e.AnnouncePersonPhone).HasMaxLength(20);

                entityBuilder.Property(e => e.AnnounceStatus).HasDefaultValueSql("((0))");

                entityBuilder.Property(e => e.AreaCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AreaName).HasMaxLength(50);

                entityBuilder.Property(e => e.AuditPerson).HasMaxLength(100);

                entityBuilder.Property(e => e.AuditRemark).HasMaxLength(1000);

                entityBuilder.Property(e => e.AuditTime).HasColumnType("datetime");

                entityBuilder.Property(e => e.BaseStationCode).HasMaxLength(100);

                entityBuilder.Property(e => e.BaseStationName).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationTTCode).HasMaxLength(50);

                entityBuilder.Property(e => e.CreateDate)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");

                entityBuilder.Property(e => e.DeletePersonCode)
                    .HasMaxLength(50)
                    .IsUnicode(false);

                entityBuilder.Property(e => e.DeletedTime).HasColumnType("datetime");

                entityBuilder.Property(e => e.FinishRemark).HasMaxLength(1000);

                entityBuilder.Property(e => e.FinishTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("('2010-1-1 0:0:0')");

                entityBuilder.Property(e => e.FuelDepartment).HasMaxLength(500);

                entityBuilder.Property(e => e.FuelPlanTime)
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("('2010-1-1 0:0:0')");

                entityBuilder.Property(e => e.IsDeleted).HasDefaultValueSql("((0))");

                entityBuilder.Property(e => e.PrjCode).HasMaxLength(100);

                entityBuilder.Property(e => e.PrjName).HasMaxLength(100);

                entityBuilder.Property(e => e.RegisteredTime).HasColumnType("datetime");
        }

    }
}

